-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: reduce grid svg file size #535
feat: reduce grid svg file size #535
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
@ben-29 amazing work will test this weekend |
@ben-29 |
@yihong0618 |
make sense |
* upstream: feat: `RunRow` toggle selection & cursor pointer (yihong0618#551) perf: use auto instead of scroll (yihong0618#550) doc: add nrc detail written by @angolap Update strava_to_garmin_sync.py (yihong0618#544) Master (yihong0618#545) fix: nrc sync fix: gh-pages build: drop the ref while trigger from Run Data Sync (yihong0618#540) upd deploy to github-pages (yihong0618#537) feat: reduce grid svg file size (yihong0618#535) feat:suport heart_rate in export gpx file (yihong0618#529) feat: add NavigationControl (yihong0618#534) # Conflicts: # README-CN.md # README.md # src/components/RunTable/RunRow.tsx # src/pages/index.tsx
* doc: todo for 2.0 * fix: vercel and github page both work * Update gh-pages.yml * Update README.md * Update index.jsx * Update index.jsx * Update index.jsx * Update const.js * Update index.jsx * Update index.jsx * Update index.jsx * Update README-CN.md my workouts page. * Update README-CN.md * Update README-CN.md * feat: add tulipsport support * docs: 添加GitHub Pages方案说明文档到README-CN.md中;添加部分代码注视,并修复一个查询区间的时间取值问题 * style: reformatted tulipsport_sync.py by black * style: reformatted tulipsport_sync.py by black again(indent-size: 2 spaces => 4 spaces) * fix: 修复被覆盖的start_time_local,设置为end_time_local * doc: 合并GitHub Pages配置说明,调整郁金香配置文档结构 * feat: tulipsport_sync.py add --with-gpx option * chore: tulipsport sync add --with-gpx in run_data_sync.yml file * fix: add the compatible check when activity node lost * fix: use dict.__contains__ instead of if else. * style: reformat the code~ * share my Running page * doc: new runners * doc: new runner * Update README.md * Add Codoon to run_data_sync.yml * doc: new runner * fix typo * chore: update README * fix: RunTime using `moving_time` from activity instead of `distance * pace`, also fix sorting * Add: stevenash0822 homepage & Update: calculation of avgPace * fix: yihong0618#396 yihong0618#403 * f * style:fix runtable mix-width Signed-off-by: shaoanianche <[email protected]> * refactor:cleanup code * refactor:cleanup code * refactor:fix dependency conflict warning * refactor:fix dependency conflict warning * refactor:fix dependency conflict warning * refactor:fix dependency conflict warning * refactor:fix dependency conflict warning * refactor:fix dependency conflict warning * refactor:fix dependency conflict warning * refactor:fix dependency conflict warning * commit: fix click area problem * commit: add personal website * commit: formatting * fix: yihong0618#412 * fix: eval evil for joyrun and replace string by install of Signed-off-by: yihong0618 <[email protected]> * fix: lint * 🏃 share muyids's running page * doc: new runner * doc: new runner * fix: yihong0618#426 * 申请加入 * 城市分割问题修改 * Update utils.js format code * 申请加入 * refactor: use event delegation to handle all <rect> & <polyline> in the "Total" view. * fix: drop useless log * feat:add garmin device in strava_to_garmin_sync script feat:add device info toggle format update optimized code fake docs:add usage desc for strava_to_garmin * style:add default value for use_fake_garmin_device * chore: use <></> instead of the root node of the components to improve rendering performance * chore: remove unnecessary <div> tags to reduce dom node nesting * feat(privacy): ignore start, end and choose points Signed-off-by: EINDEX <[email protected]> * docs: adding eindex workouts page * fix: catch ValueError for non-number RANGES Signed-off-by: EINDEX <[email protected]> * fix(privacy): using strava way to hidding polyline * style: black format * refactor(privacy): for-loop to list-comprehension and typo fix * Fix ci (yihong0618#444) * fix: ci * fix: strava same logic as garmin * doc: info only run * fix: yihong0618#443 * feat:support for download Garmin fit file (yihong0618#446) * feat:support for download Garmin fit file * Update README-CN.md (yihong0618#447) * Update README-CN.md * fix: url * fix: ignore device info for origin fit file in strava_to_garmin_sync (yihong0618#448) * fix: ignore fit file origin device fix: ignore fit file origin device * docs: remove redundant English desc * chore: remove test code * style: reformat code * fix: polyline_str maybe None * fit文件读取 (yihong0618#449) * feat: parse fit file * Update README.md (yihong0618#453) * Update README.md (yihong0618#455) * Fix Sports Type in codoon_sync.py (yihong0618#457) Change "Run" to "Running" so when uploading the TCX files to Strava, it won't be recognized as "Ride". * Update README-CN.md (yihong0618#459) * Save synced filenams and skip sync next times (yihong0618#454) * feat: add synced file name in imported.json, then skip those files next time * chore: add TCX_OUT\FIT_OUT dir in `yarn data:clean` cli * reformated * fix: add try except when load json * save data files to cache * Revert "save data files to cache" This reverts commit cd3bcf9. * fix: new synced_data_file_logger.py * reformatted * save GPX/FIT/TCX, activities, accets, data.db to github cache * Revert "save GPX/FIT/TCX, activities, accets, data.db to github cache" This reverts commit 55f48cc. * resolve the code review issues. * fix: put all types data files record in one json * add update track data file names in the synced record file * fix: 457, add TCX_TYPE_DICT (yihong0618#462) * fix: yihong0618#454, no `file_names` when sync from app (yihong0618#463) * fix: yihong0618#454, no `file_names` when sync from app * fix * 添加保存过程中产生的数据文件到github action cache选项,顺便重新整理了一下github aciton workflow (yihong0618#464) * 添加保存过程中产生的数据文件到github action cache选项,顺便重新整理了一下github aciton workflow 1. run_data_sync 调用 gh_page方式改成了workflow_call,这样可以传递一些数据过去。可以把设置都放在run_data_sync env中完成。在github后台看来也在一个job中完成了。 2. 缓存默认关闭,添加了文档。 3. 三个workflow中的action版本做了升级。有好几个github action提示版本过低了。 4. python和node准备环境部分做了优化。用了setup python /setup node自带的cache参数。多余的几个step删了。 * node-version: "16" -> node-version: '16' * feat: add BUILD_GH_PAGES to control build gh pages * docs: BUILD_GH_PAGES in run_data_sync.yml * ci: fix typo Signed-off-by: yihong0618 <[email protected]> * readme中node版本修改 (yihong0618#466) * Update README.md 和package.json同步。 * Update README-CN.md 与package.json同步 * Update README.md 修改成>= * feat: Typescript! (yihong0618#461) * feat: Typescript! Signed-off-by: Frost Ming <[email protected]> * chore: use node 16 as the base Signed-off-by: Frost Ming <[email protected]> * fix: remove use dependencies Signed-off-by: Frost Ming <[email protected]> --------- Signed-off-by: Frost Ming <[email protected]> * fix: 同一天有多个运动时选中地图路线显示错误问题 (yihong0618#468) * Add sync strava data args comment: `--only-run` (yihong0618#471) * feat: change to SPA and vite (yihong0618#472) feat: change to react and vite Signed-off-by: Frost Ming <[email protected]> * fix: set gh page default to true for newbie....... * Add correction on instruction of build github pages. (yihong0618#476) * feat: add a new runner's page (yihong0618#482) * fix: using session to download keep route * chore: merge example data * doc: drop vercel cache build doc for newbie * fix: fix fullscreen css (yihong0618#487) * chore:upgrade node version and pnpm (yihong0618#474) Signed-off-by: shaoanianche <[email protected]> * doc: fix v2.0 doc and actions change (yihong0618#488) * fix: gh-pages to Actions and fix the path bug (yihong0618#490) * fix: v2.0 can not zoom (yihong0618#492) * This commit do these things, cause react update to 18 there is a serious bug for react-map-gl, so we deside to update it to v7. for v7 there's a lot of break change, we fix them as follows: - bring mapbox css to the file. - change the api that break - add two packages in it to fit the change - change viewport name to viewState to fit the api change * fix: git ignore * style: * line blur to smooth * mapStyle using dark-v10 to solve the language problem * FullscreenButton style fix --------- Co-authored-by: ben_29 <[email protected]> * fix: gpx encode error maybe * chore:gnore ./dist (yihong0618#494) Signed-off-by: friendsa <[email protected]> * fix: by comments * doc: v2.0 doc * chore: my data * fix wrong path (yihong0618#498) * yihong0618#484 导出keep接口升级无法获取gpx数据的跑步记录 (yihong0618#496) * fix: keep interface upgraded, retrieved gpx data maybe failed * fix: lint * style: reformat code --------- Co-authored-by: F4ria <[email protected]> * fix Readme errors about `deploy to Cloudflare` (yihong0618#499) * doc: chore, change typo * fix: yihong0618#500 Signed-off-by: yihong0618 <[email protected]> * feat: fix garmin down (yihong0618#505) * fix: garth package * fix: reverse bug * fix: use garth package * Update README.md for 2.0 github pages deployment (yihong0618#506) * Update README.md for 2.0 github pages deployment * Update README-CN.md * doc: bring perssions in page back * fix: garmin sync cn configure * fix typo (yihong0618#510) * Update README.md * Update README-CN.md * 更新新版本佳明同步文档 (yihong0618#507) * update garmin sync readme * Update run_data_sync.yml * fix: drop pngs --------- Co-authored-by: yihong0618 <[email protected]> * feat: add IOS Shortcuts in README (yihong0618#513) * fix: strava to garmin sync * fix: yihong0618#516 (yihong0618#517) * doc: new runner * fix: upload to strava type * fix: cityMatch (yihong0618#521) (cherry picked from commit 7c3c05b) * upd runner's page url (yihong0618#522) * doc: new runner * updatereadme (yihong0618#527) * fix: yihong0618#484 keep gps data decode (yihong0618#524) * fix: yihong0618#484 keep gps data decode --------- Co-authored-by: yihong0618 <[email protected]> * fix: bring old logic back * fix: drop useless png * docs:rewrite docs (yihong0618#514) docs:rewrite docs Signed-off-by: shaoanianche <[email protected]> * doc: runner info fix * fix: show in firefox Signed-off-by: yihong0618 <[email protected]> * feat: add NavigationControl (yihong0618#534) * feat:suport heart_rate in export gpx file (yihong0618#529) * feat:suport heart_rate in export gpx file * feat: reduce grid svg file size (yihong0618#535) * upd deploy to github-pages (yihong0618#537) * 更新部署 github-pages 说明 * Update Deploy to Github-pages --------- Co-authored-by: haowei.chen <[email protected]> * fix: gh-pages build: drop the ref while trigger from Run Data Sync (yihong0618#540) * fix: gh-pages build: drop the ref while trigger from Run Data Sync * fix: nrc sync Signed-off-by: yihong0618 <[email protected]> * Master (yihong0618#545) * Update run_data_sync.yml * Update run_data_sync.yml * Update run_data_sync.yml * add screenshot to show how to get nike refresh token * add screenshot to show how to get nike refresh token * refactor * Update strava_to_garmin_sync.py (yihong0618#544) Sort the activities downloaded from Strava by their id's thus they are uploaded to Garmin from the oldest to the latest. Otherwise, the latest one is uploaded first, and if the process is interrupted, any activities older than it will never be uploaded because the code before this line gets the latest activity from Garmin and only download those newer than it from Strava. * doc: add nrc detail written by @angolap * perf: use auto instead of scroll (yihong0618#550) Co-authored-by: caojiawen <[email protected]> * feat: `RunRow` toggle selection & cursor pointer (yihong0618#551) * perf: split `activities.json` from index (yihong0618#552) * fix a bug in track.py. (yihong0618#559) * fix: yihong0618#566 * fix: update the year when change by Title & City, otherwise the `SVG` will be displayed and the table will not be shown if the previous status is 'Total' (yihong0618#567) * fix: dockerfile typo thanks @dywu516 Signed-off-by: yihong0618 <[email protected]> * fix: Codoon tcx output use start_time as ID instead of Codoon id (yihong0618#568) * fix: Codoon tcv output use start_time as ID instead of Codoon id * fix lint by black --------- Co-authored-by: anchao <[email protected]> * docs: add runner (yihong0618#571) * feat: ✨ Support ga, default off (yihong0618#572) * docs: add runner page (yihong0618#577) add runner page * 添加 (yihong0618#578) Co-authored-by: ppz <[email protected]> * Update index.tsx (yihong0618#579) bugfix: BPM Sort Function * Reduce svg size & lzay load github.svg and grid.svg (yihong0618#580) * feat: sync garmin cn to garmin global * github workflow * nits * nits * fix fit download gpx file (yihong0618#582) * garmin-cn sync garmin-global tutorial in readme and readme-cn * fix: lock lxml version Signed-off-by: yihong0618 <[email protected]> * Refactor: sync garmin cn to global Step 1: Sync all activities from Garmin CN to Garmin Global in FIT format. If the activity is manually imported with a GPX, the GPX file will be synced. Step 2: Generate track from gpx file. * nits * remove fake device * fix: yihong0618#584 change fit-tool to garmin-fit-sdk (yihong0618#590) * fix: 584 change fit-tool to garmin-fit-sdk * feat: garmin - handle gpx(if exist) when sync with fit * fix import error * doc: SEMICIRCLE * fix: wrap_device_info using fit-tool --------- Co-authored-by: NaturezzZ <[email protected]> * step 2, generate running page from .fit and .gpx * nits * fix readme * Feat: lights switch (yihong0618#591) * feat: Lights on and off * style: Show boundary and line together, combine geoData(only when not combine yet) * style: disable dash and transparent, stronger line when lights off * style: Button alignment * style: Fullscreen Button alignment * feat: LIGHTS_ON config * feat: PRIVACY_MODE config * feat: PRIVACY_MODE config * doc: note for PRIVACY_MODE (yihong0618#594) * chore: my data Signed-off-by: yihong0618 <[email protected]> * fix: resolve issue yihong0618#597 (yihong0618#599) * set country name to chinese * nits * nits * fix: svg not found causes page crash (yihong0618#598) * Joyrun gpx export fix for pauses and gpx segments (yihong0618#601) support pause, add segments to gpx * fix: text position change when map zoom in and zoom out (yihong0618#604) * set default file_suffix = gpx (yihong0618#609) * set default file_suffix = gpx * fix: lint Signed-off-by: yihong0618 <[email protected]> --------- Signed-off-by: yihong0618 <[email protected]> Co-authored-by: yihong0618 <[email protected]> * add yer1k's running page (yihong0618#608) * Update ci.yml (yihong0618#610) Upgrade checkout to v4 from v3 and setup-python from v4 to v5 * Update GitHub Actions and README (yihong0618#611) * Update GitHub Pages+Custom domain instruction in README.md * update gh-pages.yml * update actions version in run_data_sync.yml * Added zh instrustion for custom domain with github.io and yer1k's running page link * fix: strava version Signed-off-by: yihong0618 <[email protected]> * fix: stravaweblib version Signed-off-by: yihong0618 <[email protected]> * fix: ts type error (yihong0618#622) Signed-off-by: yihong0618 <[email protected]> * Fix README typo (yihong0618#624) * feat: coros sync (yihong0618#623) * feat: coros sync --------- Co-authored-by: Dingkun Yang <[email protected]> * add run.drink.cafe (yihong0618#628) * Update README.md * Update README-CN.md --------- Signed-off-by: shaoanianche <[email protected]> Signed-off-by: yihong0618 <[email protected]> Signed-off-by: EINDEX <[email protected]> Signed-off-by: Frost Ming <[email protected]> Signed-off-by: friendsa <[email protected]> Co-authored-by: yihong0618 <[email protected]> Co-authored-by: lingdeyiyicifang <[email protected]> Co-authored-by: frhfeng <[email protected]> Co-authored-by: rdshoep <[email protected]> Co-authored-by: Bob <[email protected]> Co-authored-by: nxg <[email protected]> Co-authored-by: Ziyuan Han <[email protected]> Co-authored-by: tiny656 <[email protected]> Co-authored-by: DuckTyping <[email protected]> Co-authored-by: ben_29 <[email protected]> Co-authored-by: jojo <[email protected]> Co-authored-by: shaoanianche <[email protected]> Co-authored-by: linwentao <[email protected]> Co-authored-by: wonderfulest <[email protected]> Co-authored-by: Ray Wang <[email protected]> Co-authored-by: 2tu <[email protected]> Co-authored-by: linjianfeng <[email protected]> Co-authored-by: zhaohongxuan <[email protected]> Co-authored-by: EINDEX <[email protected]> Co-authored-by: EINDEX <[email protected]> Co-authored-by: zhangyulai <[email protected]> Co-authored-by: Agassi <[email protected]> Co-authored-by: Stefrex <[email protected]> Co-authored-by: deepinwine <[email protected]> Co-authored-by: Chongnuo Ji <[email protected]> Co-authored-by: ttkltll <[email protected]> Co-authored-by: Frost Ming <[email protected]> Co-authored-by: jqz3.tech <[email protected]> Co-authored-by: Hao Dong <[email protected]> Co-authored-by: F4ria <[email protected]> Co-authored-by: F4ria <[email protected]> Co-authored-by: Licardo <[email protected]> Co-authored-by: Qingyang Li <[email protected]> Co-authored-by: NaturezzZ <[email protected]> Co-authored-by: LeslieeHwang <[email protected]> Co-authored-by: Zetao Feng <[email protected]> Co-authored-by: haowei93 <[email protected]> Co-authored-by: sober <[email protected]> Co-authored-by: haowei.chen <[email protected]> Co-authored-by: Zion <[email protected]> Co-authored-by: Li Peng <[email protected]> Co-authored-by: orionna319 <[email protected]> Co-authored-by: caojiawen <[email protected]> Co-authored-by: conanyangqun <[email protected]> Co-authored-by: Chao An <[email protected]> Co-authored-by: anchao <[email protected]> Co-authored-by: iiiRyan <[email protected]> Co-authored-by: 8824PPZ <[email protected]> Co-authored-by: ppz <[email protected]> Co-authored-by: ElvisZhu <[email protected]> Co-authored-by: NaturezzZ <[email protected]> Co-authored-by: Fahrayheit <[email protected]> Co-authored-by: Sayid He <[email protected]> Co-authored-by: beer <[email protected]> Co-authored-by: Dingkun Yang <[email protected]> Co-authored-by: tianheg <[email protected]> Co-authored-by: Garden Yuen <[email protected]>
When rendering the grid.svg, it will display all polylines in the
grid.svg
. However, a route can be quite large. For example, a marathon may contain thousands of data points, which is just one running record. Nevertheless, the polyline in the SVG does not need to be overly precise.I have added a
zoom_threshold
to control whether to omit some data points when the length is too long. This threshold ensures that the length of each polyline remains below the specified value.In my case, before this change, my grid.svg was 10.9MB and after reducing it became 3.6MB.
Increase this parameter if you want fewer affected polylines. Decrease it if you want a smaller SVG file.
Note: This change primarily affects track running because it drops data points between circles. Therefore, data points during turns may be discarded resulting in less smooth lines or sharp turns.